-- Instancias que representan las tablas "articles".
local blogModel = {}
local Model     = require("lapis.db.model").Model
local db        = require("lapis.db")
local articles  = Model:extend("articles")


-- Consulta si existe un slug y lo retorna en una tabla.
function blogModel:slugFind(slug)
	local article = articles:find({ slug = slug }) 

	if article then
		article:refresh("slug")
	end

	return article
end


-- Registra un nuevo artículo.
function blogModel:articleSave(data)
	local article = articles:create(data)
end


-- Consulta todos los artículos en espera de aprobación de un usuario dado su id,
-- y retorna un tabla indexada con el título, el slug.
function blogModel:articlesReview(id)
	local list_articles = articles:select("where user_id = ? AND authorized = ?", id, db.FALSE, { fields = "title, slug" })

	return list_articles
end


-- Consulta todos los artículos publicados de un usuario dado su apodo,
-- y retorna un tabla indexada con el título, la sinopsis, el slug y la ruta de la portada.
function blogModel:articlesPublished(username)
	

	return list_articles
end


return setmetatable({}, { __index = blogModel })